//1.引入模块(封装)
var conn = require("./baseDb.js")

//2.向外暴露对象
module.exports = {
    getAllCategoriesInfo(callback){ // 获取分类列表的数据
        //执行sql语句获取数据库信息
        var sql = "select * from categories";
        conn.query(sql,(err,result)=>{
            if(err) return callback(err)
            callback(null,result) // 返回前端数据
        })
    },
    addCategoriesInfo(categories,callback){ // 添加分类数据
        // 执行sql语句添加分类数据
        var sql = "insert into categories set ?"
        conn.query(sql, [categories],(err,result)=>{
            if(err) return callback(err)
            callback(null,true)  // 返回添加数据的状态
        })
    },
    delCategoriesInfo(id,callback){ // 删除分类数据
        // 执行sql语句,根据id项删除对应的数据
        var sql = "delete from categories where id = ?"
        conn.query(sql,[id],(err,result)=>{
            if(err) callback(err)
            callback(null,true); // 返回删除数据的状态
        })

    },
    getCategoriesInfoById(id,callback){ // 通过id查询数据的方法
        //执行sql语句,查询对应的id项数据
        var sql = "select * from categories where id = ?"
        conn.query(sql,[id],(err,result)=>{
            if(err) return callback(err)
            callback(null,result)
        })
    },
    updateCategoriesInfoById(categoriesInfo,callback){ //通过id更新数据的方法
        // console.log(categoriesInfo)
        // 执行sql语句更新分类数据
        var sql = "update categories set ? where id = ?"
        conn.query(sql, [categoriesInfo,categoriesInfo.id],(err,result)=>{
            if(err) return callback(err)
            callback(null,true)
        })
    },
    delMoreCategoriesInfoByIds(ids,callback){ // 跟进id项批量删除数据的方法
        // 执行sql语句批量删除数据
        var sql = "delete from categories where id in (?)"
        conn.query(sql,[ids],(err,result)=>{
            if(err) return callback(err)
            callback(null,true)
        })
    }
}